package com.s1.array;

public class LRUArray extends Array {


	public LRUArray() {
		this(DEFAULT_LENGTH);
	}
	
	public LRUArray(int length) {
		super(length);
	}

	public boolean isFull() {
		return super.used == super.datas.length;
	}

	@Override
	public void add(Integer data) {
		/**
		 * 如果不存在 队列未满则插入 tail 队列已满移除head并从插入 tail 如果存在 则从中取出并从插入 tail
		 */
		Object removeNode = this.remove(data);
		if (removeNode == null && this.isFull()) {
			super.removeFirst();
		}
		super.addLast(data);
	}
}
